package com.sprouting.ops.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sprouting.ops.annotations.invoke.CheckIsNullOrEmpty;
import com.sprouting.ops.annotations.invoke.CheckLength;
import com.sprouting.ops.annotations.invoke.CheckNotNull;
import com.sprouting.ops.interfaces.AddGroup;
import com.sprouting.ops.interfaces.UpdGroup;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 快捷入口;(OpsQuickAccess)(OPS_QUICK_ACCESS) 表实体类
 *
 * @author ：lx（长沙麓谷）
 * @date 创建时间：2025-10-12 22:15:42
 */
@Data
@TableName("ops_quick_access")
public class OpsQuickAccess extends BaseModel {

    /**
     * 主键
     */
    @CheckNotNull(message = "非法ID", groups = UpdGroup.class)
    @CheckIsNullOrEmpty(message = "无效ID", groups = AddGroup.class)
    @TableId
    private String id;
    /**
     * 类型-属于应用、场所
     * @see com.sprouting.ops.interfaces.ConstantBase.QuickAccessType
     */
    @NotNull(message = "类型不能为空")
    private Integer type;
    /**
     * 绑定id
     * @see OpsSite#getId()
     * @see OpsApp#getId()
     * @see OpsProduct#getId()
     */
    @CheckNotNull(message = "请选择绑定关系")
    private String bindId;
    /**
     * 所属人员
     * @see OpsUser#getId()
     */
    private String userId;

}
